home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / 4dos / 4dos401p.zip / UPDAT401.DOC < prev    next >
Text File  |  1992-06-08  |  23KB  |  581 lines

  1.  
  2.                                   JP Software
  3.  
  4.                            4DOS Update Documentation
  5.  
  6.                          Version 4.01 -- June 8, 1992
  7.  
  8.    Copyright 1988 - 1992, JP Software Inc., All Rights Reserved.  Published
  9.    by JP Software Inc., P.O. Box 1470, E. Arlington, MA 02174 USA, (617)
  10.    646-3975.
  11.  
  12.    This file provides a list of changes in 4DOS version 4.01.  If you are
  13.    new to 4DOS with version 4.01, you can skip this file and begin with the
  14.    printed 4DOS Reference Manual supplemented by the MANMOD.DOC file, or
  15.    with the up to date ASCII manual in the file 4DOS.DOC.
  16.  
  17.    At the end of this file there is information about some of the major
  18.    changes made between 4DOS versions 3 and 4.  You should review this
  19.    information if you are upgrading from 4DOS version 3 to version 4.01,
  20.    and have never used 4DOS 4.0.
  21.  
  22.    Some of the descriptions below may be more detailed than you need; if
  23.    you aren't using the feature described, feel free to skip through to the
  24.    next item!
  25.  
  26.    Probably most of the changes in version 4.01 won't affect you.  For
  27.    changes which affect or are likely to be useful to most users, look for
  28.    the dew changes marekd with a "**" below.  All changes without a "**"
  29.    are more technical or less important; you can skip them unless you are
  30.    trying to solve a specific problem, or looking for changes which may
  31.    affect your batch files, aliases, or another specific feature you use.
  32.  
  33.    This file is formatted at 58 lines per page, and contains form feeds and
  34.    page footers.  It can be viewed with a file viewer such as the 4DOS LIST
  35.    command, or printed on most PC printers using the command:
  36.  
  37.             copy readme.doc prn
  38.  
  39.    Printing it with a program that formats the pages is not likely to work
  40.    due to the formatting included in the file.
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.                                                                (6/92-4.01A)
  54.  
  55.  
  56.  
  57.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 1
  58.  
  59.  
  60.  
  61.                              4DOS 4.01 Change List
  62.  
  63.  
  64.    General Features
  65.    ----------------
  66.  
  67.       ** Include lists can be up to 255 characters long (the previous limit
  68.       was 79 characters).
  69.  
  70.       ** External applications can now be invoked with extended parent
  71.       directory names ("...\appname").
  72.  
  73.       ** Drive changes will now save the old drive and directory so it can
  74.       be retrieved with a "CDD -".
  75.  
  76.       A new 4DOS.INI directive, DescriptionMax = nnnn, now controls the
  77.       description length limit for DESCRIBE (the previous limit was fixed
  78.       at 40 characters).  This will provide better support for 3rd-party
  79.       description editors which support longer descriptions.  The default
  80.       for DescriptionMax is 40 characters; the allowable range is 20 to 120
  81.       characters.  DESCRIBE will also allow editing of descriptions longer
  82.       than DescriptionMax, but such descriptions cannot be lengthened. 
  83.       Descriptions displayed by DIR and SELECT are truncated at the screen
  84.       width, with a right arrow at the end if the full description doesn't
  85.       fit on the screen.
  86.  
  87.       Lines in SET /R and ALIAS /R files, and aliases and variables edited
  88.       by ESET, editing lines can all be up to 511 characters long.
  89.  
  90.       The "Cancel batch file?" prompt is now sent to STDERR rather than
  91.       STDOUT, in case batch output is redirected.
  92.  
  93.       Prefacing an external command with a '@' will remove the old value of
  94.       CMDLINE from the environment.  For folks who want to keep the
  95.       environment small when loading TSRs.
  96.  
  97.       KSTACK has been rewritten with a different internal implementation. 
  98.       The external use is the same for both users (the KEYSTACK command)
  99.       and programmers (the API for KSTACK).  The new version will not eat
  100.       up CPU time in DESQview windows the way the old one did.  Also some
  101.       minor problems have been fixed, and KSTACK now releases its
  102.       environment block at startup.
  103.  
  104.       4DOS now displays the true INI file name when an error occurs
  105.       (previously "4DOS.INI" was displayed reagrdless of the actual name).
  106.  
  107.       Variable expansion will now work when the variable is within an alias
  108.       and is embedded in the first item on the line.  For example:
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 2
  116.  
  117.  
  118.             c:\> alias mycopy=copy /r
  119.             c:\> set xx=py
  120.             c:\> myco%xx file1 a:
  121.  
  122.       will copy file1 to drive A:, and prompt if the destination file
  123.       already exists.
  124.  
  125.       Added a new 4DOS startup switch, /K.  This switch does nothing, but
  126.       all text after it is treated like a command, so using "/K command" at
  127.       the end of the 4DOS command line is equivalent to including the
  128.       "command" without /K.  This is equivalent to the 4OS2 /K switch, and
  129.       is included for compatibility with the version of COMMAND.COM
  130.       distributed with OS/2 2.0.  You can use either /K or /C before the
  131.       command, but not both.
  132.  
  133.       Several internal changes were made to provide better support for
  134.       using 4DOS in OS/2 2.0 DOS sessions.
  135.  
  136.  
  137.    Internal Variables and Variable Functions
  138.    -----------------------------------------
  139.  
  140.       %_DISK no longer generates a physical disk access.
  141.  
  142.       %@ASCII[] now checks for an escape character preceding the actual
  143.       character to process.  This allows quotes and other special
  144.       characters as the argument (eg %@ASCII[^X`]).
  145.  
  146.       %@FILESIZE now returns -1 on a non-existent file.
  147.  
  148.       %@SELECT now supports input from CON (standard input).
  149.  
  150.       Changed %@WORD to disable the / as a separator; now it will only use
  151.       spaces, tabs, and commas.
  152.  
  153.  
  154.    Commands
  155.    --------
  156.  
  157.       ** ATTRIB:  Now has a /P(ause) switch to make it easier to display
  158.       attributes for groups of files.
  159.  
  160.       CALL:  Now returns an exit code (%_?) which matches the batch file
  161.       exit code.  This allows the use of conditionals (&& and ||) after
  162.       CALL based on the batch file's exit code (eg from QUIT n) rather than
  163.       whether the CALL command worked.
  164.  
  165.       COPY and MOVE:  When performed from an OS/2 session, these will now
  166.       copy OS/2 extended attributes if the target file system supports
  167.       them.  Also, /U and /R switches will now search for hidden and system
  168.       files on the target.
  169.  
  170.  
  171.  
  172.  
  173.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 3
  174.  
  175.  
  176.       DEL:  Now sets the internal error level (%_?) non-zero if no files
  177.       were deleted.
  178.  
  179.       ECHOS:  Output is now in binary "raw" mode (without CR to CRLF
  180.       conversion etc.) to assist those using it to echo printer control
  181.       strings.
  182.  
  183.       IF and IFF:  Integer tests (i.e., "if 5 lt 12") have been modified to
  184.       allow for - and +, so you can now test things like "if -1 lt 1".
  185.  
  186.       INKEY:  Now translates the Enter key to its scan code (@28) to
  187.       simplify detection of this keystroke.  Previously Enter was put into
  188.       the environment as an ASCII 13, which wouldn't display, and which
  189.       would be discarded as whitespace when the parser expanded the
  190.       variable.
  191.  
  192.       PROMPT:  Has a new symbol:  $r displays the return code of the last
  193.       command.  This is for compatibility with COMMAND.COM under OS/2 2.0
  194.       which also provides this feature.
  195.  
  196.       SETDOS:  Has a new /P switch to set the character used to specify all
  197.       or all remaining command line arguments.  The default is '&' (as in
  198.       "%&") for 4DOS and '$' (as in "%$") for 4OS2.  Use (for example)
  199.       SETDOS /P$ to set the 4DOS character to match 4OS2.  Also see the
  200.       ParameterChar directive below.
  201.  
  202.       UNALIAS and UNSET:  Have a new /Q(uiet) option to disable error
  203.       messages if the alias or variable does not exist.  This can be used
  204.       to avoid annoying error messages from batch files which clear
  205.       variables or aliases that may not be defined.
  206.  
  207.       VER:  Now reports DR-DOS and OS/2 version numbers and revision levels
  208.       when they are available.
  209.  
  210.  
  211.    Technical and Compatibility Changes
  212.    -----------------------------------
  213.  
  214.       DR-DOS:  Added a DIREXIST condition (same as ISDIR) to IF and IFF for
  215.       compatibility with DR-DOS 6 batch files.
  216.  
  217.       OS/2:  4DOS will now search the true boot drive (as opposed to the
  218.       current drive) for AUTOEXEC and other similar files when starting a
  219.       primary shell in DOS 4 and above.  This should allow AUTOEXEC to run
  220.       properly in OS/2 2.0 VDMs when starting the VDM on a drive different
  221.       from the boot drive.  Also, 4DOS changes the session title on the
  222.       OS/2 desktop to the name of the application program when running an
  223.       application in an OS/2 2.0 DOS session.  This behavior can be
  224.       disabled with the ChangeTitle directive (see below).  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 4
  232.  
  233.  
  234.       Novell Netware:  Worked around a Netware bug which allows the current
  235.       directory to be deleted (and loses the disk mapping) when 4DOS does a
  236.       DEL /X.
  237.  
  238.       The prompt interrupt (INT 2F, AX=D44E) is now issued just after a
  239.       line is read (ie just after the CR), with BX=2.  This is in addition
  240.       to the interrupts already done with BX=0 and 1 per appendix C of the
  241.       manual.
  242.  
  243.       4DOS now allows multiple processes to redirect output to NUL
  244.       simultaneously in multitaskers.
  245.  
  246.       4DOS now generates a "4DOS internal stack overflow" error if you
  247.       attempt to nest batch files or commands like EXCEPT, FOR, IF, IFF,
  248.       GLOBAL, or SELECT too deep, and 4DOS runs out of stack space.  In the
  249.       past 4DOS could hang the system under these conditions.
  250.  
  251.       The default stack size (set via the StackSize directive in 4DOS.INI)
  252.       has been increased from 3584 to 4096 bytes.
  253.  
  254.       Added the following new INI file directives.  Most of these
  255.       directives are advanced directives, and should be changed only to
  256.       solve unusual problems or for compatibility with the indicated
  257.       software (eg NetwareNames for Novell Netware, or ParameterChar to
  258.       make 4DOS and 4OS2 syntax the same).
  259.  
  260.          ChangeTitle = YES | No:  Determines whether 4DOS changes the OS/2
  261.          session title when running an external program from an OS/2 2.0
  262.          DOS session.
  263.  
  264.          CopyEA = YES | No:  Determines whether the 4DOS COPY and MOVE
  265.          commands attempt to copy extended attributes when running in an
  266.          OS/2 1.x or 2.0 DOS session.  
  267.  
  268.          DiskReset = Yes | NO:  Enables or disables disk resets after COPY,
  269.          MOVE, and RENAME, and before DIR.  Set to Yes if you have problems
  270.          with disk change detection on non-standard or cached floppy disk
  271.          drives, or with network software which doesn't always properly
  272.          flush data to the disk.  However such problems are VERY rare and
  273.          normally No is the best choice.  Setting DiskReset to Yes will
  274.          reduce the performance of DIR, COPY, MOVE, and RENAME when using a
  275.          "staged-write" disk cache such as SmartDrive 4.0.
  276.  
  277.          DRSets = YES | No.  When running under DR-DOS, 4DOS will normally
  278.          retrieve environment variables created by any SET commands in the
  279.          DR-DOS CONFIG.SYS file and place them in the 4DOS master
  280.          environment.  Set DRSets to No to disable this feature.
  281.  
  282.          DVCleanup = YES | No.  No disables 4DOS's DESQview close window
  283.          cleanup code and thereby reenables the Quit choice on the DESQview
  284.          menu when at a 4DOS prompt.  However this will prevent 4DOS from
  285.          cleaning up its resources (releasing the shell number and deleting
  286.  
  287.  
  288.  
  289.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 5
  290.  
  291.  
  292.          any disk swap file) when you Close a 4DOS window from the DESQview
  293.          menu, rather than with the EXIT command.
  294.  
  295.          NetwareNames = Yes | NO.  Set to Yes to include strings in the
  296.          resident portion of 4DOS which Netware searches for when it loads. 
  297.          NetwareNames should be set to Yes for Netware systems to avoid
  298.          problems with destroyed environment variables during LOGIN. 
  299.          CAUTION:  If NetwareNames is set to Yes and you BOOT FROM a
  300.          Netware drive (a rare situation), the TEMP4DOS or TEMP variables
  301.          must be SET explicitly to the appropriate drive and directory for
  302.          each user to avoid conflicts in the directory used for pipe files
  303.          (if NetwareNames is not used or you boot from a local drive, 4DOS
  304.          and Netware will automatically set the proper drive and directory
  305.          for pipe files).
  306.  
  307.          NextINIFile = File.  Full path and name must be specified.  All
  308.          subsequent shells will read the specified INI file, and ignore any
  309.          [Secondary] section in the original 4DOS.INI.  Intended to allow
  310.          diskless or floppy-only workstation users to shift 4DOS.INI to a
  311.          network drive for secondary shells, and avoid all access to the
  312.          original boot drive.
  313.  
  314.          ParameterChar = c.  Sets the character used to specify all or all
  315.          remaining command line arguments.  Default is '&' (as in "%&") for
  316.          4DOS and '$' (as in "%$") for 4OS2.  Also see SETDOS /P above.
  317.  
  318.          UniqueSwapName = Yes | No.  Set to Yes to change the disk swap
  319.          file name from 4DOSSWAP.nnn to a unique name generated by 4DOS,
  320.          with an extension of "4SW" (eg a1gd6nnw.4sw).  This prevents
  321.          conflicts between swap files in different shells; it is only
  322.          necessary when using disk swapping with a COMMAND.COM primary
  323.          shell (eg if using Software Carousel) or in an OS/2 2.0 DOS
  324.          session.  The default is Yes in OS/2 2.0 DOS sessions and No
  325.          elsewhere.  UniqueSwapName only works in DOS 3.0 and above and
  326.          applies only to disk swapping.
  327.  
  328.  
  329.    Bugs Fixed
  330.    ----------
  331.  
  332.       Initialization:
  333.  
  334.          ** The sense of the MessageServer directive in 4DOS.INI was
  335.          reversed.
  336.  
  337.          The /F startup switch did not work unless there was also a
  338.          CritFail=Yes in 4DOS.INI.
  339.  
  340.       Command Line:
  341.  
  342.          Ctrl-D in a history window did not work properly when using
  343.          command completion.
  344.  
  345.  
  346.  
  347.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 6
  348.  
  349.  
  350.          An F8 or Shift-Tab at the beginning of a command line didn't
  351.          preserve the trailing backslash for directory names from a
  352.          previous F9 or Tab.
  353.  
  354.          Key remapping for standard ASCII keys (e.g. ListFind=S) only
  355.          worked if upper case key was typed.
  356.  
  357.       Environment Variables, Variable Functions, Batch Files, and Aliases:
  358.  
  359.          Command grouping had a glitch when used after a conditional
  360.          operator (&& or ||).
  361.  
  362.          Batch variables of %10 and larger were not expanding correctly.
  363.  
  364.          Variable expansion had trouble when used following a leading
  365.          command group [e.g. (dir^memory) > %outfile].
  366.  
  367.          Variable expansion crashed when an environment variable argument
  368.          was over 255 characters long.
  369.  
  370.          @DATE:  Did not work correctly with non-US date entries (i.e.,
  371.          yy-mm-dd or dd-mm-yy).
  372.  
  373.          @FILESIZE:  Was not rounding properly when the k, K, m, or M units
  374.          were used.
  375.  
  376.          @SELECT:  Was allowing Ctrl-D but it did not work.  It is no
  377.          longer allowed.  Also %@SELECT had trouble with 0-length files and
  378.          very large (>64K) files.
  379.  
  380.       Commands:
  381.  
  382.          CANCEL:  Was failing to terminate succeeding commands on the same
  383.          line in a parent batch file.
  384.  
  385.          COPY:  Was not handling an append of the form COPY FU+NUL FU /B
  386.          properly.
  387.  
  388.          COPY and MOVE:  Would lose the first description if the target
  389.          file had a description and the source didn't.
  390.  
  391.          DEL:  /Q was not doing a fast (FCB-style) delete.
  392.  
  393.          FOR:  (@filename) did not work correctly with long lines (>=80
  394.          characters).  The maximum line length now is 255 characters.
  395.  
  396.          INKEY:  /K didn't work properly with variable names over 6
  397.          characters.
  398.  
  399.          LIST:  /S had problems with very large (>64K) files when you hit
  400.          an invalid key.
  401.  
  402.  
  403.  
  404.  
  405.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 7
  406.  
  407.  
  408.          MEMORY:  did not display available XMS in an OS/2 2.0 VDM.
  409.  
  410.          MOVE:  /D didn't work properly with multiple source arguments. 
  411.          Also MOVE did not preserve the read-only bit when moving a file to
  412.          another drive.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 8
  464.  
  465.  
  466.                           Changes in 4DOS Version 4.0
  467.  
  468.    This section contains information about major changes made in 4DOS
  469.    version 4.0.  This is not a complete description of what was new in 4DOS
  470.    4.0 -- it only includes significant changes you may need to be aware of
  471.    if you are upgrading from 4DOS version 3 to version 4.01, and have never
  472.    used 4DOS 4.0.  For details on any specific feature, see your manual and
  473.    the MANMOD.DOC file.  If you need a comprehensive list of changes in
  474.    4DOS 4.0, please contact JP Software.
  475.  
  476.  
  477.    Installation and Configuration 
  478.    ------------------------------
  479.  
  480.       4DOS.COM:  4DOS is now one file, 4DOS.COM.  The separate 4DOS88.EXE
  481.       or 4DOS286.EXE files in the old structure have been eliminated.
  482.  
  483.       4DOS.INI:  There is a wide variety of new startup options for 4DOS,
  484.       and 4DOS configuration is now controlled through the new 4DOS.INI
  485.       file, for both primary and secondary shells.  Some switches can also
  486.       still be set on the SHELL= line in CONFIG.SYS.
  487.  
  488.       UMBs:  4DOS can now load its resident portion and / or the master
  489.       environment into DOS 5 UMBs.  UMB access is requested with the
  490.       UMBLoad and UMBEnvironment directives in 4DOS.INI.
  491.  
  492.       KEYSTACK:  The KEYSTACK.SYS device driver was replaced by KSTACK.COM,
  493.       a TSR (memory-resident program), normally loaded from AUTOEXEC.BAT
  494.       (or with INSTALL= in CONFIG.SYS).
  495.  
  496.  
  497.    4DOS HELP System
  498.    ----------------
  499.  
  500.       The help program was renamed 4HELP.EXE to avoid conflicts with other
  501.       HELP.EXE programs.  This program is run when F1 is pressed at the
  502.       command line or when the HELP command is executed.  The help text
  503.       file is now 4DOS.HLP (for those with a utility disk, the ASCII text
  504.       file is 4DOS.TXT).  The 4HELP, 4HELPF, and 4HELPC environment
  505.       variables were removed and replaced by the 4DOS.INI directives
  506.       HelpPath and HelpOptions.
  507.  
  508.       The new HELP system is not compatible with the version 3.0 HELP
  509.       system; if you have modified the version 3.0 HELP text you must
  510.       purchase a version 4.0 Utility Disk and recompile your help text to
  511.       use it with 4DOS 4.0 HELP.
  512.  
  513.       HELPCFG now supports a /M switch to force it to run in monochrome
  514.       mode and adjust the monochrome HELP colors, even on color systems. 
  515.       Also the HELPCFG exit keys were changed to conform to general usage
  516.       standards.
  517.  
  518.  
  519.  
  520.  
  521.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                        page 9
  522.  
  523.  
  524.    Batch File Commands
  525.    -------------------
  526.  
  527.    A few commands were changed in ways that may require you to edit your
  528.    batch files or aliases if they use the earlier syntax.
  529.  
  530.       DIR Switches:  Several switches were changed for DOS 5 compatibility. 
  531.       DIR now supports the DOS 5 sort order switches (/O:[-degns]), as well
  532.       as the original 4DOS switches (/O:[eirtuz]).  A byproduct of the
  533.       switch changes is that the /A:xxxx and /O:xxxx switches CANNOT be
  534.       followed by another parameter without an intervening slash.  For
  535.       example, you used to be able to say DIR /OEP to display the directory
  536.       in extension order with pauses.  You must now use DIR /OE/P or DIR
  537.       /POE.
  538.  
  539.       IF and IFF Tests:  Most of the old tests for system resources (EMS,
  540.       XMS, DISKFREE, etc.) were moved to variable functions to make the
  541.       information available throughout 4DOS rather than just in IF and IFF. 
  542.       In addition, some new tests were added, as well as new .AND., .OR.,
  543.       and .XOR. conditional operators.  
  544.  
  545.             Old IF / IFF test       New Variable or Variable Function
  546.             -----------------       ---------------------------------
  547.                MONITOR              %_MONITOR
  548.                VIDEO                %_VIDEO
  549.                ATTRIB               %@ATTRIB[filename,attrib]
  550.                DISKFREE             %@DISKFREE[d:,b|k|m]
  551.                DOSMEM               %@DOSMEM[b|k|m]
  552.                EMS                  %@EMS[b|k|m]
  553.                EXTENDED             %@EXTENDED[b|k|m]
  554.                FILESIZE             %@FILESIZE[filename,b|k|m]
  555.                XMS                  %@XMS[b|k|m]
  556.  
  557.       Include Lists:  The separator character for "include lists" was
  558.       changed from a plus sign to a semicolon.  Also, while in 4DOS 3.03
  559.       they were available only for the DIR and SELECT commands, in version
  560.       4.0 include lists were extended to all 4DOS file processing commands. 
  561.  
  562.       SET:  The syntax was changed to match COMMAND.COM:  You MUST enter an
  563.       '=' in a SET statement, and you may now put whitespace in the
  564.       variable name or the argument.  Also, if you enter SET VARNAME with
  565.       nothing else on the line SET will now display the value of the
  566.       variable, rather than removing it from the environment as it used to. 
  567.       To remove an environment variable, you must add the "=" sign to the
  568.       end (e.g. SET VARNAME=), or use UNSET.  Also note that, because
  569.       whitespace in environment variable names and values is now preserved,
  570.       batch files with lines like "SET MYVAR = MYVALUE" may not work unless
  571.       they are changed to eliminate the extra spaces.  Under 4DOS 3.03 this
  572.       example would set "MYVAR" to "MYVALUE"; under 4DOS 4.0 it will set
  573.       "MYVAR " to " MYVALUE".  In addition, the new /M switch directs the
  574.       change to the master environment, instead of the local one.
  575.  
  576.  
  577.  
  578.  
  579.    4DOS 4.01  [6-8-92]           UPDAT401.DOC                       page 10
  580.  
  581.